package com.flea.hclv.model.dao;

import com.flea.hclv.model.entity.HVisitor;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import java.util.List;
import java.util.Set;

public interface HVisitorMapper {
    int deleteByPrimaryKey(String id);

    int insert(HVisitor record);

    int insertSelective(HVisitor record);

    HVisitor selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(HVisitor record);

    int updateByPrimaryKey(HVisitor record);

    List<HVisitor> selectByName(String visitorName);

    List<HVisitor> selectByNameAndDeptId(@Param("visitorName") String visitorName,@Param("deptUuid") String deptUuid);

    int deleteByIds(@Param("idList")List<String> idList,@Param("userId") String userId);

    List<HVisitor> selectAll(RowBounds rowBounds, @Param("zhName")String zhName, @Param("enName")String enName);

    List<HVisitor> selectByDeptId(RowBounds rowBounds, @Param("deptUuid")String deptUuid, @Param("zhName")String zhName, @Param("enName")String enName);

    List<HVisitor> selectLikeNameAndDeptId(@Param("name") String name, @Param("deptUuid") String deptUuid, RowBounds rowBounds);

    List<HVisitor> selectByDept(@Param("deptUuid") String deptUuid, RowBounds rowBounds);

    List<HVisitor> findByIds(@Param("ids")List<String> visitorIds);

    List<HVisitor> findBySet(@Param("set") Set<String> visitorIds);

    List<HVisitor> selectByTimeTableIdJoinVisitorId(String timeTableId);

    List<HVisitor> selectSeatByVisitorIdsAndTimeTableId(@Param("visitorIds") Set<String> visitorIds,@Param("timeTableId") String timeTableId);
}